The advent and growth of the Internet enable businesses to offer services to an increasing number of distributed customers, partners, employees, and other business entities. Businesses continue to harness various technologies associated with distributed systems to develop and provide these services. One type of technology that is gaining popularity are web services. A web service is a system functionality (e.g., an application, a business service, etc.) that is accessible over the Internet, an Intranet, and even an Extranet using standard web-based protocols (e.g., Hyper Text Transfer Protocol (HTTP)) and extensible Markup Language (XML) interfaces and messages. Accordingly, web services are an ideal way for businesses to provide services in heterogeneous environments where a consumer of a web service may be a user operating a desktop, an application program, or even another web service hosted on any number of different platforms.
Although web service technologies allow businesses to publish and retrieve services through the Internet, problems evolve when trying to customize services for a consumer. Accordingly, smart web services are evolving that understand consumer contexts associated with the services. A consumer context refers to information that a web service needs to know about the consumer to provide customized services. For example, consumer contexts may include, consumer identity, consumer trends associated with the service or related services, consumer location, and other types of consumer profile information.
Because businesses may develop a smart web service using proprietary formats, there exits the problem of sharing these contexts with other services provided by other businesses. To address these sharing problems, business are developing open architectures that include interoperable web services that are designed to work with other web services regardless of the type of tool used to design the service and the type of platform that operates the service. These open architectures typically include servers that host application server containers that provide runtime environments for the services operated within the architecture. Application service containers perform various low level processes, such as resource management, transaction management, state management, and security management, allowing application programmers to focus on high level business processes, such as presentation and authentication logic, etc. The application service containers may use context information associated with users and web services to automatically configure and customize web services offered by the system hosting the containers.
While application service containers aid application developers with creating and maintaining web services, service architectures are also moving toward automating service delivery to optimize efficiency, resource utilization, and availability. Accordingly, developers are contemplating architectures that use system service containers that are designed to aid system developers in administrating web service enterprises. System service containers provide system services that reduce the complexities associated with provisioning services, such as resource change management, problem management, operating system level change management, etc. Using system service containers, new age open net architectures allow system administrators to concentrate on higher level issues, such as overall network and/or storage sizing, managing business rules, etc., rather than focusing on installing, uninstalling, reinstalling, software between hardware based on changes in service requirements.
Therefore, there exits multiple frameworks of technologies that allow businesses to provide context based smart web services and automated system service management that dynamically adjust the capabilities of an architecture's resources to efficiently deliver these services to consumers. Individually, these frameworks provide limited benefits to developers and/or consumers alike. Collectively, however, these frameworks may provide a multitude of benefits that will enable businesses to not only offer context based services, but also dynamically manage the resources that provide these services. Unfortunately, conventional architectures do not have the infrastructure or technologies that effectively align these frameworks together to provide these added benefits.